package org.springframework.security.web.authentication.session;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import org.springframework.security.core.Authentication;

/**
 * @author Dillon
 * @date 2024/7/14
 * @slogan 致敬大师 致敬未来的你
 * @desc session认证策略接口 提供session认证实现类
 */
public interface SessionAuthenticationStrategy {

	/**
	 * session执行认证
	 *
	 * @param authentication 认证成功对象
	 * @param request        请求对象
	 * @param response       响应对象
	 * @throws SessionAuthenticationException session 认证异常
	 */
	void onAuthentication(Authentication authentication, HttpServletRequest request, HttpServletResponse response)
			throws SessionAuthenticationException;

}
